iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
Microsoft Azure

Python X 金融分析 X Azure系列 第 4

【Day4】取得資訊-Python #1:設定Python環境

  • 分享至 

  • xImage
  •  

上篇教如何快速使用Google Sheet取得資料,並且匯出資料。其實Python也可以很快的取得資料,也是用網路上的資源,這次是使用Yahoo Finance的資源。
不過在這之前需要一些環境設定,未來幾天會為這些做準備與動作,一一介紹。

可參考:https://www.finlab.tw/用爬蟲爬全世界股價/#shi_yong_Google_Colab_lai_xie_Python


要取得資料的話,需要幾個套件,分別是:

  • requests
  • numpy
  • pandas

因為一開始的Python沒有,所以需要安裝。

Python有個特性,就是可以製作虛擬作業環境,讓不同的工作進行區分,假設我們分成兩個部分,一個是抓數據,一個是製作圖表(其實放在一起也可以,只是為了舉例而已),前者的工作環境可以只安裝requests,如果是後者,可以僅安裝pandas,如果都要做,就可以在該工作環境安裝這三個套件(requestsnumpypandas)。

虛擬環境

首先就是要安裝虛擬環境。
以先前的經驗,如果用內建的virtual environment(可參考官方文件說明),使用下列指令來建立虛擬環境資料夾:

python3 -m venv tutorial-env

然後再啟動他:

source tutorial-env/bin/activate

不過有個更厲害的套件,就是pipenv。他可以順利的建立虛擬環境,並且快速安裝所需的套件。但是在安裝pipenv之前,先要安裝好pip這個Python專門用來安裝套件的套件(?)

首先先檢查是否有安裝:

python3 -m pip -v

如果有跳出錯誤訊息,說找不到的話,就直接安裝pip(需要su的權限):

sudo easy_install pip

接著就可以安裝pipenv

pip install pipenv

然後是建立我們所需要的虛擬環境,因為是在Python3,所以直接在所屬的程式資料夾中輸入(如下圖):

pipenv --three

https://ithelp.ithome.com.tw/upload/images/20200912/20103826R1XkK9sLRH.png

然後他就會在該資料夾下產生Pipfile的檔案,就是如上圖中的第3個區塊,看到這個就大功告成囉~
而虛擬環境另外放在:

app_data_dir=/Users/(username)(你的帳號)/Library/Application Support/virtualenv

安裝套件

接著我們就安裝所需的套件:

  • requests
  • numpy
  • pandas

分別打入指令:

pipenv install requests
pipenv install numpy
pipenv install pandas 

會突然發現,多了個Pipfile.lock檔案,裡面就是存放我們使用pipenv在這個環境下,所安裝的套件與版號,是用來管理套件的地方。而我們的Pipfile,也會多了個紀錄,說我們這個虛擬環境下各套件所需的版本。

Pipfile會紀錄(僅以requests做範例):

[packages]
requests = "*"

而在Pipfile.lock則顯示:

{
    "_meta": {
        "hash": {
            "sha256": "acbc8c4e7f2f98f1059b2a93d581ef43f4aa0c9741e64e6253adff8e35fbd99e"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.8"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        ......,
        "requests": {
            "hashes": [
                "sha256:b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b",
                "sha256:fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898"
            ],
            "index": "pypi",
            "version": "==2.24.0"
        },
        "urllib3": {
            "hashes": [
                "sha256:91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a",
                "sha256:e7983572181f5e1522d9c98453462384ee92a0be7fac5f1413a1e35c56cc0461"
            ],
            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
            "version": "==1.25.10"
        }
    },
    "develop": {}
}

後記:

這邊先設定好基本所需的套件,這幾個套件會一直使用,所以這個部分還滿重要的。
會特別提出來的原因,最主要是剛入門時候,因為對語言不熟悉,很容易不知要如何進行,尤其是環境設定的部分,更是令人頭大,所以會在這比較緩慢的前進。


參考資料:


上一篇
【Day3】取得資料-Google Sheet:股票開高低收
下一篇
【Day5】取得資訊-Python #2:抓股票資料
系列文
Python X 金融分析 X Azure31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言